#编写日志的设置
import logging
import os
from common.config import logs_path


class DoLog():
    def set_get_logger(self, level):
        # 申请记录器
        self.logger = logging.getLogger()

        # 设置日志编写等级
        self.logger.setLevel(level)

        # 申请写入的地方
        # 设置文件  使用r来反转义
        log_name = os.path.join(logs_path, 'a.log')
        f = logging.FileHandler(log_name, encoding="utf-8")

        # 控制台
        s = logging.StreamHandler()

        # 设置一下书写格式
        ft = "%(asctime)s,%(filename)s,%(lineno)d,%(levelname)s:%(message)s "
        # 设置一个记录器所需要的格式对象
        ftl = logging.Formatter(ft)

        # 将格式告诉给对应的书写对象
        f.setFormatter(ftl)
        s.setFormatter(ftl)

        # 将记录器与写入的地方进行关联
        self.logger.addHandler(f)
        self.logger.addHandler(s)

        # 返回我的设置好的记录器
        return self.logger



if __name__ == '__main__':
    logger = DoLog().set_get_logger()
    logger.log(logging.ERROR, "我是通过log写的error")
    logger.log(logging.INFO, "我是通过log写的INFO")
    logger.error("我是error")
    logger.info("我是info")
    logger.critical("我是critical")
    logger.warning("我是warning")
    logger.debug("我是debug")


